﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using Proyecta.Data.Helpers;

namespace Proyecta.Data
{
    static class Program
    {
        static void Main(string[] args)
        {
            // Ejemplo select completo.
            string sql = new SelectQuery()
                            .Select("id_usuario", "p.nombre", "MAX(id_usuario)", "COUNT(*)")
                            .From("usuarios", "u")
                            .InnerJoin("perfiles", "p")
                                .On("u.id_perfil", CompareOperator.Igual, "p.id_perfil")
                            .Where(
                                SelectQuery.Condition("u.nombre", CompareOperator.Like, "'%jorge%'"),
                                SelectQuery.And("u.contrasena", CompareOperator.Igual, "'jorge'")
                             )
                             .GroupBy("id_usuario", "p.nombre")
                             .Having(
                                SelectQuery.Condition("MAX(id_usuario)", CompareOperator.Mayor, "0"),
                                SelectQuery.Or("COUNT(*)", CompareOperator.Igual, "0")
                             )
                             .OrderBy(
                                SelectQuery.OrderColumn("nombre", OrderType.Descendente),
                                SelectQuery.OrderColumn("COUNT(*)", OrderType.Ascendente)
                             )
                            .ToString();
            Console.WriteLine(sql);

            Console.Write("Presione ENTER para salir...");
            Console.ReadLine();
        }
    }
}